#ifndef GAMEBOARDITEM_H
#define GAMEBOARDITEM_H
#include <QGraphicsObject>
#include "gs.h"

using namespace gs;

namespace gs
{



class GameBoardItem : public QGraphicsObject
{
public:
    GameBoardItem(GameBoardOrganizer*);
    GameBoardItem(GameBoardOrganizer *, GameBoardItem*);
    GameDialogManager* getDialogManager();
    GameBoardOrganizer* getParentBoard(){return _board;}
protected:
    GameBoardOrganizer* _board;
};

class GameBoardItemButton : public GameBoardItem
{
public:
    GameBoardItemButton(GameBoardOrganizer*);
    GameBoardItemButton(GameBoardOrganizer*, GameBoardItem*);
protected:
    void mousePressEvent(QGraphicsSceneMouseEvent *event);
    void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
};

class GameBoardFrame : public QGraphicsObject
{
public:
    GameBoardFrame(QGraphicsObject*, int, int);
    QRectF boundingRect() const;
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
protected:
    int _w, _h;
};
}

#endif // GAMEBOARDITEM_H
